package vip.xiaonuo.megvii.captures.model.base;

import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * AI主动推送数据的基础类
 */
@Data
public class MegviiPushBase {

    // 布控通道名
    private String screen_token;

    // 抓拍图base64编码，选择不返回抓拍图时没有该字段
    private String photo;

    // 图片md5值，选择不返回抓拍图时没有该字段
    private String photo_md5;

    // 抓拍背景大图base64编码，选择不返回抓拍背景大图时没有该字段
    private String fullImage;

    // 背景大图md5值，选择不返回抓拍背景大图时没有该字段
    private String fullImage_md5;

    // 图片质量取值0~1值越大质量越大好
    private double quality;

    // 视频流区分唯一track用，抓拍识别唯一标识
    private long track_id;

    // track消失标志true:消失false:未消失
    private boolean track_die;

    // 时间戳
    private long timestamp;

    // 视频通道号
    private int video_number;

    // 通道检测类型：0：未知，1：纯人脸；2：脸人；3：结构化
    private int chnDetectType;

    // 设备ID
    private String device_id;

    // 绑定的目标信息（关联）
    private List<BindingInfo> bindingInfo;

    // 目标类型
    private String objType;

    // 算法类型，0：未知；1：脸人/结构化；2：警戒。（可选字段，多算法上报平台时用到此字段）
    private int algType;

    // 小图基于背景图的坐标
    private Location detectionResult;

    // 目标基于小图的坐标
    private Location targetResult;

    public int convert(String objType){
        if("face".equals(objType)){
            return 1;
        }else if("human".equals(objType)){
            return 2;
        }else if("vehicle".equals(objType)){
            return 3;
        }else if("cycle".equals(objType)){
            return 4;
        }else if("plate".equals(objType)){
            return 5;
        }
        return 0;
    }



}
